def user_info(name, age, gender):
    print(f"姓名：{name}，年龄：{age}，性别：{gender}")

# 位置参数，默认的使用方式
user_info("小明", 20, "男")

# 关键字参数
user_info(name="李华", age=16, gender="女")
user_info(age=18, name="李明", gender="男") # 关键字参数可以乱序
user_info("张三", gender="男", age=24) # 和位置参数混用，位置参数必须在前

# 缺省参数
def user_info(name, age, gender="男"):
    print(f"姓名：{name}，年龄：{age}，性别：{gender}")

user_info("张无忌", 20)
user_info("周芷若", 18, "女")

# 不定长参数
# 位置参数不定长 *args
def func(*args):
    print(f"参数的类型是：{type(args)}， 内容是：{args}")
func(1, 2, 3, "小明", 89.5)

# 关键字参数不定长 **kwargs
def func(**kwargs):
    print(f"参数的类型是：{type(kwargs)}，内容是：{kwargs}")
func(name="谢逊", age=40, gender="男", org="明教")